WA-RAILS7-019: Webpacker removal strategy and migration guide#757
WA-RAILS7-019: Webpacker removal strategy and migration guide#757kitcommerce merged 1 commit intonextfrom
Conversation
architecture ReviewVerdict: PASS Documentation-only change that adds migration guides for downstream host applications moving from Webpacker to Sprockets 4 (or optionally jsbundling-rails). No code changes, no new dependencies, no API surface modifications. The recommended path (Sprockets 4) aligns with the existing Workarea asset pipeline architecture and preserves the engine/host-app boundary cleanly — host apps own their JS bundling strategy while the engine continues to serve assets via Sprockets. The optional jsbundling-rails path is correctly scoped as a host-app concern, not an engine dependency. No findings. |
security ReviewVerdict: PASS Documentation-only change adding migration guides for Webpacker removal. No source code, configuration files, or executable content was modified. No secrets, auth changes, input handling, or injection surfaces are introduced. The change carries zero security risk. No findings. |
Simplicity ReviewVerdict: PASS_WITH_NOTES The migration guides are clear, well-structured, and appropriately scoped. Steps are numbered, code blocks are practical, and the cross-linking between the two paths (Sprockets-only vs jsbundling) is well done. No over-engineering detected. Minor Findings
What's Working Well
No blocking issues. The minor items above can be addressed in a follow-up or as part of a doc polish pass. |
Rails-Conventions ReviewVerdict: PASS_WITH_NOTES ✅ Rails idioms and API usage throughout the migration guides are accurate. All recommended patterns align with Rails 7 best practices. No blocking issues found. What's Correct
Notes (non-blocking)
JSON Verdict{
"reviewer": "rails-conventions",
"verdict": "PASS_WITH_NOTES",
"severity": "LOW",
"summary": "All Rails idioms, API names, manifest directives, helper methods, and build commands are accurate for Rails 7 + Sprockets 4. Three low-severity notes: importmap-rails could be briefly acknowledged as the Rails 7 default with an explanation of why Workarea sticks with Sprockets; SCSS manifest linking behavior is implicit; asset precompile config location is one of several valid options.",
"findings": [
{
"severity": "LOW",
"file": "docs/rails7-migration-patterns/webpacker-to-sprockets-4.md",
"note": "importmap-rails (Rails 7 new default) not mentioned. Add a brief sentence explaining why Sprockets 4 is preferred over importmap for Workarea host apps."
},
{
"severity": "LOW",
"file": "docs/rails7-migration-patterns/webpacker-to-sprockets-4.md",
"note": "Manifest example links application.css; if host app uses application.scss, Sprockets 4 still requires linking the compiled .css extension. Worth a clarifying note for SCSS users."
},
{
"severity": "LOW",
"file": "docs/rails7-migration-patterns/webpacker-to-sprockets-4.md",
"note": "config/initializers/assets.rb is valid but not the only convention; config/application.rb is also common. No change required."
}
]
} |
✅ Wave 1 Gate — PASSEDAll 4 Wave 1 reviewers returned PASS or PASS_WITH_NOTES (all findings LOW severity).
Advancing to Wave 2 (rails-security, database, test-quality). |
Rails Security Review (Wave 2)Verdict: PASS FindingsNo findings. This PR contains only documentation (migration guides) and a minor template flag change ( No Rails security attack surface is introduced or modified by this change. RecommendationsNone. |
Database Review — Wave 2Verdict: PASS FindingsNo findings. This PR contains only documentation (migration guides for Webpacker removal). There are no database migrations, schema changes, model changes, query modifications, or any Ruby code changes to review. RecommendationsNone. |
Test Quality Review (Wave 2){
"reviewer": "test-quality",
"verdict": "PASS",
"severity": null,
"summary": "Documentation-only PR with no new code, no modified tests, and no logic requiring test coverage.",
"findings": []
}No test coverage concerns. This PR adds only Markdown migration guides and a README index — there is no executable code to test. PASS. |
✅ Wave 2 Gate — PASSEDAll 3 Wave 2 reviewers returned PASS.
All waves complete. Labeling |
✅ All Review Waves PassedAll reviewers returned PASS or PASS_WITH_NOTES. This PR is merge-ready.
Labeled |
Closes #750
Summary
core/,admin/, andstorefront/for Webpacker/webpack references (none found).--skip-javascriptinstead of the removed--skip-webpack-installflag.Client impact
Informational. Clients upgrading to Rails 7 who previously used Webpacker need this guidance to migrate to Sprockets 4 (or optionally jsbundling-rails).
Docs
docs/rails7-migration-patterns/webpacker-to-sprockets-4.mddocs/rails7-migration-patterns/jsbundling-rails-esbuild.md